#pragma once

template<typename T>
struct COMDeleter
{
    void operator() (T* ptr)
    {
        if (ptr)
        {
            ptr->Release();
        }
    }
};